home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / u_man / cat1 / rqs.z / rqs
Encoding:
Text File  |  2002-10-03  |  10.7 KB  |  199 lines

  1. RQS(1)                                                 Last changed: 1-7-99
  2.  
  3.  
  4. NNAAMMEE
  5.      rrqqss, rrqqss3322 - Make 32-bit executable or shared object QUICKSTARTable
  6.  
  7. SSYYNNOOPPSSIISS
  8.      rrqqss [--tt _t_i_m_e_s_t_a_m_p__v_a_l_u_e__i_n__h_e_x] [--ll _t_e_x_t__a_d_d_r_e_s_s__i_n__h_e_x] [--cc
  9.      _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e] [-_u _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e] [--ff] [--LL] [--LLddiirr] [--rr
  10.      _r_o_o_t__p_a_t_h] [--cchhrroooott _r_o_o_t__p_a_t_h] [--lloogg <_f_i_l_e>] [-_r_l_d__a_d_d_r <_a_d_d_r_e_s_s>] [--
  11.      rrlldd__aaddddrr__oonnllyy] [-_r_l_d__u_n_r_e_s_o_l_v_e__c_h_e_c_k__o_n_l_y] [--
  12.      rrlldd__ffoorrccee__nnooqquuiicckkssttaarrtt__oonnllyy] _o_b_j_e_c_t
  13.  
  14. IIMMPPLLEEMMEENNTTAATTIIOONN
  15.      IRIX systems
  16.  
  17. DDEESSCCRRIIPPTTIIOONN
  18.      rrqqss and rrqqss3322 function identically and take the same options.  rrqqss is
  19.      an old 32-bit ABI program (--3322).  _r_q_s_3_2 is a new 32-bit ABI program
  20.      (--nn3322).  Either can process old 32-bit ABI and new 32-bit ABI
  21.      applications and DSOs (so they can be used interchangeably).
  22.  
  23.      rrqqss takes an object, either an executable or a shared object, and
  24.      using its lliibblliisstt will then redo all the pre-relocations.  For shared
  25.      objects only, if -_l_o_a_d__a_d_d_r_e_s_s is specified, then the specified
  26.      address will be used as the lowest virtual address for that shared
  27.      object, otherwise options --cchheecckk__rreeggiissttrryy and/or --uuppddaattee__rreeggiissttrryy will
  28.      be used to figure out possible QUICKSTART addresses for that shared
  29.      object, just like lldd.
  30.  
  31.      rrqqss will create a new version of the object and save it back in place,
  32.      overwriting the previous version, so you may want to save a copy of
  33.      the object before requickstarting it.
  34.  
  35.      For an object to be requickstartable, the bit RRHHFF__RREEQQUUIICCKKSSTTAARRTT must be
  36.      set in the DDTT__MMIIPPSS__FFLLAAGGSS field of its ..ddyynnaammiicc section.  This bit is
  37.      normally set by lldd.  After an object has been requickstarted, the bit
  38.      RRHHFF__RREEQQUUIICCKKSSTTAARRTTEEDD will be set in the DDTT__MMIIPPSS__FFLLAAGGSS field of its
  39.      ..ddyynnaammiicc section.
  40.  
  41.      With the --mm option, _r_q_s will move an object to a requested address
  42.      even if the result will not quickstart.
  43.  
  44.      --ff   Requickstart _o_b_j_e_c_t even if RRHHFF__RREEQQUUIICCKKSSTTAARRTT is not set in
  45.           _o_b_j_e_c_t.
  46.  
  47.      --ffoorrccee__rreeqquuiicckkssttaarrtt
  48.           is an alternate spelling of the --ff option.
  49.  
  50.      --tt _t_i_m_e_s_t_a_m_p__v_a_l_u_e__i_n__h_e_x
  51.           Specifies a timestamp value in hex to replace the one in the
  52.           DDTT__MMIIPPSS__TTIIMMEE__SSTTAAMMPP field of the ..ddyynnaammiicc section, applicable to
  53.           shared object only.
  54.  
  55.      --ttiimmeessttaammpp _t_i_m_e_s_t_a_m_p__v_a_l_u_e__i_n__h_e_x
  56.           is an alternate spelling of the --tt option.
  57.  
  58.      --ll _t_e_x_t__a_d_d_r_e_s_s__i_n__h_e_x
  59.           Specifies the lowest virtual address for the shared object being
  60.           rrqqss'd, when specified, options --cchheecckk__rreeggiissttrryy and
  61.           --uuppddaattee__rreeggiissttrryy will be ignored.
  62.  
  63.      --llooaadd__aaddddrreessss _t_e_x_t__a_d_d_r_e_s_s__i_n__h_e_x
  64.           This is an alternate spelling of the --ll option.
  65.  
  66.      --cc _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e
  67.           Check the location of this shared object's segments and make sure
  68.           they stay out of the way of others in the _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e.  A
  69.           single registry file, either with --cc or --uu is allowed.
  70.           Applicable to shared object only.
  71.  
  72.      --cchheecckk__rreeggiissttrryy _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e
  73.           This is an alternate spelling of the --cc option.
  74.  
  75.      --uu _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e
  76.           Register the location of this shared object's segments and make
  77.           sure they stay out of the way of others in the _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e.
  78.           _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e is updated if it is writable.  A single
  79.           registry file, either with --cc or --uu is allowed.  Applicable to
  80.           shared object only.
  81.  
  82.      --uuppddaattee__rreeggiissttrryy _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e
  83.           This is an alternate spelling of the --uu option.
  84.  
  85.      --LL   Change the algorithm of searching for libraries to never look in
  86.           the default directories (//uussrr//lliibb:://lliibb).  This option has the
  87.           same semantics as the --LL option in the lldd command.
  88.  
  89.      --LL_d_i_r
  90.           Change the algorithm of searching for libraries to look in _d_i_r
  91.           before looking in the default directories.  This option has the
  92.           same semantics as the --LLddiirr option in the lldd.  The environment
  93.           variable LLDD__LLIIBBRRAARRYY__PPAATTHH can also be used for this purpose.  (For
  94.           a new 32-bit ABI object LLDD__LLIIBBRRAARRYYNN3322__PPAATTHH is used if it exists,
  95.           or else LLDD__LLIIBBRRAARRYY__PPAATTHH is used, if it exists.)
  96.  
  97.      --mm   Move the dso even if address overlaps are detected (without this
  98.           option address overlaps cause rrqqss to exit without doing
  99.           anything).  If an address overlap is detected, the RRHHFF__QQUUIICCKKSSTTAARRTT
  100.           flag is reset (to 0) in the dynamic section.  Generally, this is
  101.           useful only if the --ll option is also specified on the command
  102.           line.
  103.  
  104.      --vv   Makes rrqqss more verbose.  Generally intended for debugging, but it
  105.           is useful if you want to know if the --mm option detected any
  106.           address overlaps (messages will be issued).
  107.  
  108.      --rr _r_o_o_t__p_a_t_h
  109.           Change the path of the default directories that rrqqss uses for
  110.           searching libraries by appending _r_o_o_t__p_a_t_h to the front of the
  111.           default path, just like that in __RRLLDD__RROOOOTT.  It can also be a
  112.           colon(:) separated list.  In fact, the environment variable
  113.           __RRLLDD__RROOOOTT can also be used for this purpose.  (For a new 32-bit
  114.           ABI object, use __RRLLDDNN3322__RROOOOTT instead of __RRLLDD__RROOOOTT).
  115.  
  116.      --rroooott _r_o_o_t__p_a_t_h
  117.           This is an alternate spelling of the --rr option.
  118.  
  119.      --cchhrroooott _r_o_o_t__p_a_t_h
  120.           This causes the named directory _r_o_o_t__p_a_t_h to become the root
  121.           directory, the starting point for path searches for path names
  122.           beginning with /e.
  123.  
  124.      --lloogg _f_i_l_e
  125.           Pipes all error messages to _f_i_l_e instead of standard output.
  126.  
  127.      --rrlldd__aaddddrr _a_d_d_r_e_s_s
  128.           Sets the dynamic section DDTT__MMIIPPSS__RRLLDD__TTEEXXTT__RREESSOOLLVVEE__AADDDDRR to
  129.           _a_d_d_r_e_s_s.
  130.  
  131.      --rrlldd__aaddddrr__oonnllyy
  132.           Restricts the changes to be made to the dynamic section,
  133.           DDTT__MMIIPPSS__RRLLDD__TTEEXXTT__RREESSOOLLVVEE__AADDDDRR (only effective if the -_r_l_d__a_d_d_r
  134.           option is also specified on the command line).
  135.  
  136.      --rrlldd__uunnrreessoollvvee__cchheecckk__oonnllyy
  137.           Restricts the changes to be to the dynamic section's
  138.           DDTT__MMIIPPSS__FFLLAAGGSS to set or unset RRHHFF__NNOO__UUNNRREESS__UUNNDDEEFF depending on
  139.           whether there were any undefined variables.
  140.  
  141.      --rrlldd__ffoorrccee__nnooqquuiicckkssttaarrtt__oonnllyy
  142.           Restricts the changes to be to reset the dynamic section's
  143.           DDTT__MMIIPPSS__FFLLAAGGSS RRHHFF__QQUUIICCKKSSTTAARRTT flag.
  144.  
  145.      The following options must be put into the environment variable
  146.      __RRQQSS__AARRGGSS to be understood; they cannot be specified on the command
  147.      line.
  148.  
  149.      ""--ddeebbuugg mmaapp""
  150.           Used for debugging rrqqss.  Prints information about the mapping
  151.           (address) of the object.
  152.  
  153.      ""--ddeebbuugg ssyymmbbooll""
  154.           Used for debugging rrqqss.  Prints information about the symbol
  155.           searches and symbol finding in the object (in symbol relocation).
  156.  
  157.      ""--ddeebbuugg MMAALLLLOOCC""
  158.           Used for debugging rrqqss.  Prints a trace of some of the
  159.           mmaalllloocc/rreeaalllloocc calls.
  160.  
  161.      ""--ddeebbuugg hhaasshh""
  162.           Used for debugging rrqqss.  Prints a trace of the hashing function
  163.           used searching a hash table for a symbol.
  164.  
  165. EEXXAAMMPPLLEESS
  166.      The following command can be used to move a set of DSOs to a common
  167.      base address:
  168.  
  169.           #!/bin/sh
  170.           for in dso1.so dso2.so dso3.so
  171.           do
  172.              rqs -l 0x300000 -m -f  $i
  173.           done
  174.  
  175.      You may want to do this if a set of DSOs used by an application takes
  176.      too much virtual address space to lay out sequentially, and the set is
  177.      too large to try to provide _s_o__l_o_c_a_t_i_o_n_s at link time.
  178.  
  179. NNOOTTEESS
  180.      Some options have long and short spellings.  For example, --ff and
  181.      --ffoorrccee__rreeqquuiicckkssttaarrtt do the same thing.  The short form is easier to
  182.      remember and spell.  Because the long form is used in existing scripts
  183.      and programs, both forms will be supported.
  184.  
  185.      Where any option specifies that a value supplied on the command line
  186.      is to be in hexadecimal, the value is interpreted as hexadecimal
  187.      digits whether or not a leading "0x" is part of the option value.
  188.  
  189. FFIILLEESS
  190.      //uussrr//eettcc//rrqqss
  191.      //uussrr//eettcc//rrqqss3322
  192.      //uussrr//lliibb//ssoo__llooccaattiioonnss (for old 32-bit ABI)
  193.      //uussrr//lliibb3322//ssoo__llooccaattiioonnss (for new 32-bit ABI)
  194.  
  195. SSEEEE AALLSSOO
  196.      lldd(1), rrlldd(1), rrqqss6644(1), rrqqssaallll(1)
  197.  
  198.      This man page is available only online.
  199.